<?php

require_once dirname(dirname(__FILE__)) . '/config/config.php';
require_once DOCUMENT_ROOT . DIR_SHARED_CONFIG . 'connection.php';


class dao_invoice_line {

    //Methods
    public function __construct() {

    }

    public function get_all() {
        $db = new connection();
        $con = $db->open_connect();
        
        $query = "SELECT * FROM tbl_invoice_line";
        /** @noinspection PhpParamsInspection */
        $result = mysqli_query($con, $query)
        or die("Query fail: " . mysqli_error());
        
        $list = array();
        while ($row = mysqli_fetch_array($result)) {
            array_push($list, $row);
        }
        $db->close_connect();
        return $list;
    }

    public function save($invoice_line_id, $invoice_id, $doc_id, $money, $quantity) {
        $db = new connection();
        $con = $db->open_connect();
        if ($invoice_line_id == 0) {
            $query = "INSERT INTO tbl_invoice_line(invoice_id, doc_id, money, quantity) VALUES (
                " . $invoice_id . "," . $doc_id . "," . $money . "," . $quantity . ")";
        } else {
            $query = "UPDATE tbl_invoice_line SET "
                    . "invoice_id = " . $invoice_id . ","
                    . "doc_id = " . $doc_id . ","
                    . "money = " . $money . ","
                    . "quantity = " . $quantity . " "
                    . "WHERE invoice_line_id = " . $invoice_line_id;
        }
//        echo $query;
        /** @noinspection PhpParamsInspection */
        $result = mysqli_query($con, $query) or die("Query fail: " . mysqli_error());

        $db->close_connect();
        return TRUE;
    }

    public function get_by_id($id) {
        $db = new connection();
        $con = $db->open_connect();

        $query = "SELECT * FROM tbl_invoice_line WHERE invoice_line_id = " . $id;
        /** @noinspection PhpParamsInspection */
        $result = mysqli_query($con, $query) or die("Query fail: " . mysqli_error());

        $row = mysqli_fetch_array($result);

        $db->close_connect();
        return $row;
    }

    public function delete($id) {
        $db = new connection();
        $con = $db->open_connect();

        $query = "DELETE FROM tbl_invoice_line WHERE invoice_line_id = " . $id;
        /** @noinspection PhpParamsInspection */
        mysqli_query($con, $query) or die("Query fail: " . mysqli_error());

        $db->close_connect();
        return TRUE;
    }
    
    public function get_all_by_invoice_id($invoice_id) {
        $db = new connection();
        $con = $db->open_connect();
        
        $query = "SELECT * FROM tbl_invoice_line inl LEFT JOIN tbl_document d ON inl.doc_id = d.doc_id WHERE invoice_id = ".$invoice_id;
        /** @noinspection PhpParamsInspection */
        $result = mysqli_query($con, $query)
        or die("Query fail: " . mysqli_error());
        
        $list = array();
        while ($row = mysqli_fetch_array($result)) {
            array_push($list, $row);
        }
        $db->close_connect();
        return $list;
    }
    
}
